package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_stk_holdertrade")
public class FStkHoldertrade {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 股东名称
     */
    @Column(name = "holder_name")
    private String holderName;

    /**
     * 股东类型G高管P个人C公司
     */
    @Column(name = "holder_type")
    private String holderType;

    /**
     * 类型IN增持DE减持
     */
    @Column(name = "in_de")
    private String inDe;

    /**
     * 变动数量
     */
    @Column(name = "change_vol")
    private Float changeVol;

    /**
     * 占流通比例（%）
     */
    @Column(name = "change_ratio")
    private Float changeRatio;

    /**
     * 变动后持股
     */
    @Column(name = "after_share")
    private Float afterShare;

    /**
     * 变动后占流通比例（%）
     */
    @Column(name = "after_ratio")
    private Float afterRatio;

    /**
     * 平均价格
     */
    @Column(name = "avg_price")
    private Float avgPrice;

    /**
     * 持股总数
     */
    @Column(name = "total_share")
    private Float totalShare;

    /**
     * 增减持开始日期
     */
    @Column(name = "begin_date")
    private String beginDate;

    /**
     * 增减持结束日期
     */
    @Column(name = "close_date")
    private String closeDate;

    public FStkHoldertrade(Long tid, String tsCode, String annDate, String holderName, String holderType, String inDe, Float changeVol, Float changeRatio, Float afterShare, Float afterRatio, Float avgPrice, Float totalShare, String beginDate, String closeDate) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.holderName = holderName;
        this.holderType = holderType;
        this.inDe = inDe;
        this.changeVol = changeVol;
        this.changeRatio = changeRatio;
        this.afterShare = afterShare;
        this.afterRatio = afterRatio;
        this.avgPrice = avgPrice;
        this.totalShare = totalShare;
        this.beginDate = beginDate;
        this.closeDate = closeDate;
    }

    public FStkHoldertrade() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取股东名称
     *
     * @return holder_name - 股东名称
     */
    public String getHolderName() {
        return holderName;
    }

    /**
     * 设置股东名称
     *
     * @param holderName 股东名称
     */
    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    /**
     * 获取股东类型G高管P个人C公司
     *
     * @return holder_type - 股东类型G高管P个人C公司
     */
    public String getHolderType() {
        return holderType;
    }

    /**
     * 设置股东类型G高管P个人C公司
     *
     * @param holderType 股东类型G高管P个人C公司
     */
    public void setHolderType(String holderType) {
        this.holderType = holderType;
    }

    /**
     * 获取类型IN增持DE减持
     *
     * @return in_de - 类型IN增持DE减持
     */
    public String getInDe() {
        return inDe;
    }

    /**
     * 设置类型IN增持DE减持
     *
     * @param inDe 类型IN增持DE减持
     */
    public void setInDe(String inDe) {
        this.inDe = inDe;
    }

    /**
     * 获取变动数量
     *
     * @return change_vol - 变动数量
     */
    public Float getChangeVol() {
        return changeVol;
    }

    /**
     * 设置变动数量
     *
     * @param changeVol 变动数量
     */
    public void setChangeVol(Float changeVol) {
        this.changeVol = changeVol;
    }

    /**
     * 获取占流通比例（%）
     *
     * @return change_ratio - 占流通比例（%）
     */
    public Float getChangeRatio() {
        return changeRatio;
    }

    /**
     * 设置占流通比例（%）
     *
     * @param changeRatio 占流通比例（%）
     */
    public void setChangeRatio(Float changeRatio) {
        this.changeRatio = changeRatio;
    }

    /**
     * 获取变动后持股
     *
     * @return after_share - 变动后持股
     */
    public Float getAfterShare() {
        return afterShare;
    }

    /**
     * 设置变动后持股
     *
     * @param afterShare 变动后持股
     */
    public void setAfterShare(Float afterShare) {
        this.afterShare = afterShare;
    }

    /**
     * 获取变动后占流通比例（%）
     *
     * @return after_ratio - 变动后占流通比例（%）
     */
    public Float getAfterRatio() {
        return afterRatio;
    }

    /**
     * 设置变动后占流通比例（%）
     *
     * @param afterRatio 变动后占流通比例（%）
     */
    public void setAfterRatio(Float afterRatio) {
        this.afterRatio = afterRatio;
    }

    /**
     * 获取平均价格
     *
     * @return avg_price - 平均价格
     */
    public Float getAvgPrice() {
        return avgPrice;
    }

    /**
     * 设置平均价格
     *
     * @param avgPrice 平均价格
     */
    public void setAvgPrice(Float avgPrice) {
        this.avgPrice = avgPrice;
    }

    /**
     * 获取持股总数
     *
     * @return total_share - 持股总数
     */
    public Float getTotalShare() {
        return totalShare;
    }

    /**
     * 设置持股总数
     *
     * @param totalShare 持股总数
     */
    public void setTotalShare(Float totalShare) {
        this.totalShare = totalShare;
    }

    /**
     * 获取增减持开始日期
     *
     * @return begin_date - 增减持开始日期
     */
    public String getBeginDate() {
        return beginDate;
    }

    /**
     * 设置增减持开始日期
     *
     * @param beginDate 增减持开始日期
     */
    public void setBeginDate(String beginDate) {
        this.beginDate = beginDate;
    }

    /**
     * 获取增减持结束日期
     *
     * @return close_date - 增减持结束日期
     */
    public String getCloseDate() {
        return closeDate;
    }

    /**
     * 设置增减持结束日期
     *
     * @param closeDate 增减持结束日期
     */
    public void setCloseDate(String closeDate) {
        this.closeDate = closeDate;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", holderName=").append(holderName);
        sb.append(", holderType=").append(holderType);
        sb.append(", inDe=").append(inDe);
        sb.append(", changeVol=").append(changeVol);
        sb.append(", changeRatio=").append(changeRatio);
        sb.append(", afterShare=").append(afterShare);
        sb.append(", afterRatio=").append(afterRatio);
        sb.append(", avgPrice=").append(avgPrice);
        sb.append(", totalShare=").append(totalShare);
        sb.append(", beginDate=").append(beginDate);
        sb.append(", closeDate=").append(closeDate);
        sb.append("]");
        return sb.toString();
    }
}